package cadastros;

import java.util.Collection;

import entidades.EstadoCivil;
import excecoes.FalhaPersistenciaException;
import excecoes.ObjetoInexistenteException;
import repositorios.RepositorioEstadoCivil;
import interfaceRepositorio.IRepositorioEstadoCivil;

public class CadastroEstadoCivil {
	
	private IRepositorioEstadoCivil repositorio;
	
	public CadastroEstadoCivil(){
		repositorio = new RepositorioEstadoCivil();
	}
	
	/**
	 * Consulta a lista de todos os estados civis.
	 * @return
	 * @throws FalhaPersistenciaException 
	 */
	public Collection<EstadoCivil> consultarEstadosCivis()
			throws FalhaPersistenciaException{
		return repositorio.consultarEstadosCivis();
	}
	
	public EstadoCivil consultarEstadoCivilId(int id) throws FalhaPersistenciaException, ObjetoInexistenteException{
		EstadoCivil retorno = repositorio.consultarEstadoCivilId(id);
		if(retorno == null){
			throw new ObjetoInexistenteException("Erro ao consultar estado civil.\nEstado Civil inexistente.");
		}
		return retorno;
	}
	
	public EstadoCivil consultarEstadoCivilEstado(String estadoCivil) throws FalhaPersistenciaException, ObjetoInexistenteException{
		EstadoCivil retorno = repositorio.consultarEstadoCivilEstado(estadoCivil);
		if(retorno == null){
			throw new ObjetoInexistenteException("Erro ao consultar estado civil.\nEstado Civil inexistente");
		}
		return retorno;
	}

}
